Component Contracts
نویسندگان
چکیده
We present a model for components and their composition to be used in component-based software development. We describe how components are specified for its syntactical view at the interface level, functional view at the requirement level, internal view at the design level and how they are composed. In a component based system development, a component consists of a set of interfaces, provided to or required from the software being developed. In a component development, the component is an executable code that can be coupled with other components via its interfaces. The developer has to ensure that the specification of a component is satisfied by its design and the design is met by its implementation. We also present an extension of the refinement calculus, rCOS, for object systems to component systems. The refinement calculus can then specify the conditions for some component to be substitutable (a refinement) of another. Thus, rCOS allows us to formalize object-oriented and component-based design patterns.
منابع مشابه
Strengthening Eiffel Contracts using Models
Creating proper contracts as interface specifications for software components is a key quality for the usability of the component in various contexts. A major goal of software engineering is to extend the expressiveness of these contracts and to enable component developers to use contracts for their own benefit with as little overhead as possible. One source for this overhead might be changes i...
متن کاملMultilevel Contracts for Trusted Components
This article contributes to the design and the verification of trusted components and services. The contracts are declined at several levels to cover then different facets, such as component consistency, compatibility or correctness. The article introduces multilevel contracts and a design+verification process for handling and analysing these contracts in component models. The approach is imple...
متن کاملComponent Composition with Parametric Contracts
We discuss compositionality in terms of (a) component interoperability and contractual use of components, (b) component adaptation and (c) prediction of properties of composite components. In particular, we present parametric component contracts as a framework treating the above mentioned facets of compositionality in a unified way. Parametric contracts compute component interfaces in dependenc...
متن کاملAttaching Behavioral Contracts to Binary Components for Supporting Reliable Reuse*
Component contract, as an interface specification, is a good idea for improving software quality. This paper describes the technique of dynamically attaching behavioral contracts a posteriori to binary component with no explicit contracts discipline, and presents a model based on the Common Language Infrastructure (CLI) to organize component contracts in the form of metadata and to perform effi...
متن کاملA composite contract based on buy back and quantity flexibility contracts
We introduce a composite (CP) contract for a two-stage supply chain by organically combining two component contracts: a buy back (BB) contract and a quantity flexibility (QF) contract. The CP contract is shown to have advantages over both component contracts in terms of supply chain coordination, profit allocation, and risk allocation. In particular, we obtain the following results: (a) as long...
متن کاملFormal Contracts: Enabling Component Composition
Traditional component interaction is based on interface calls and callbacks. Such interaction can introduce integration faults, i.e., side effects at the moment of component integration. Solutions to such problems can be hard to apply, and may require drastic changes in the design of the involved components. This paper introduces Formal Contracts, a software construct that allows side-effect fr...
متن کامل